Drawing or diagram software allows a user to graphically represent relationships between elements. For example, organizational structures, network structures, flowcharts, and the like may be visually represented by graphical “nodes” and “links.” An element may be represented as a “node” and nodes may be connected by “links.” Typically, drawing software includes a diagram editor, which refers to a drawing area on the screen that allows users to interactively create nodes and to connect them by links. Creating a link may be performed by selecting a first node with a mouse click thereby indicating the start point of the link and then dragging the mouse to a second node thereby indicating the end point of the link. The start and end points are connected to their respective nodes at what is referred to herein as “connection points.”
When several links are created from a particular side of a node, they may all have the same connection point on that side. That is, the connection points of the links will be superimposed thereby making it difficult to distinguish between different links. Furthermore, if these links end on the same node, they may even be completely superimposed thereby preventing the user from completely distinguishing them visually.
As a result, a rerouting tool may be implemented which reroutes all of the links in the diagram in an attempt to clarify the connections. However, this tool may reroute links that are unrelated to any link that needs to be distinguished. As a result, the rerouted diagram may be confusing to the user from a usability point of view. Furthermore, the rerouting tool uses a lot of processing time since it reroutes all the links in the diagram instead of rerouting only those links that need to be distinguished.